/**
 * 
 * 文件名：SysConfig.java
 *
 * 功能：读取系统配置xml文件
 *
 *
 * 变更记录：
 *
 * 创建者：陈保毕
 * 
 * 日期：2016年3月22日
 */
package com.hpjz.common;


import lombok.extern.log4j.Log4j;

import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.XMLConfiguration;
import com.hpjz.common.utils.BeanFactoryUtils;



@Log4j
public class SysConfig {
     
	private Configuration config;
	
	private static String DEFAULT_CONFIG_NAME = "firstaid-config.xml";
	
	private static String SYS_CONFIG_BEAN_NAME = "com.hpjz.common.SysConfig";

	public Configuration getConfig() {
		return config;
	}
    
	/**
	 * 初始化加载配置文件
	 * 
	 */
	public void init(){
		if (this.config==null) {
			try {
				this.config = new XMLConfiguration(this.getClass().getClassLoader().getResource(DEFAULT_CONFIG_NAME));
				log.info("加载配置文件{"+DEFAULT_CONFIG_NAME+"}成功！");
			} catch (ConfigurationException e) {
				log.error("读取配置文件{"+DEFAULT_CONFIG_NAME+"}失败！", e);
			}
		}
	}
	 
	/**
	 * 获取配置文件对象
	 * @return
	 */
	public static Configuration getSysConfig(){
		SysConfig config = (SysConfig) BeanFactoryUtils.getBean(SYS_CONFIG_BEAN_NAME);
		return config.getConfig();
	}
	
	
	 /**
	  * 
	  * 读取系统配置参数
	  * @param path
	  * @return
	  */
    public static String getSysConfigVal(String path){
    	return getSysConfig().getString(path);
    }
	
}
